Auto merge of #2026 - alexcrichton:cargo-install, r=brson
authorbors <bors@rust-lang.org>
Mon, 19 Oct 2015 04:44:21 +0000 (04:44 +0000)
committerbors <bors@rust-lang.org>
Mon, 19 Oct 2015 04:44:21 +0000 (04:44 +0000)
This commit is an implementation of [RFC 1200][rfc] which brings two new
subcommands: `cargo install` and `cargo uninstall`. Most of this is a straight
implementation of the RFC, but a few tweaks were made:

* The `-p` or `--package` arguments are no longer needed as you just pass
  `crate` as a bare argument to the command, this means `cargo install foo`
  works and downloads from crates.io by default.
* Some logic around selecting which crate in a multi-crate repo is installed has
  been tweaked slightly, but mostly in the realm of "let's do the thing that
  makes sense" rather than the literal "let's do what's in the RFC".
  Specifically, we don't pick a crate with examples if there are multiple crates
  with binaries (instead an error is generated saying there are multiple binary
  crates).

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md


Trivial merge